package simple;


/**
 * Description:给定一个数组 nums 和一个值 val，你需要原地移除所有数值等于 val 的元素，返回移除后数组的新长度。
 *
 * 不要使用额外的数组空间，你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
 *
 * 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
 * User: chengrongkai
 * Date: 2019-10-09
 * Time: 11:15
 */
public class Code_27 {
    public static int removeElement(int[] nums, int val) {
        int replacePosition = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != val) {
                nums[replacePosition] = nums[i];
                replacePosition++;
            }
        }
        return replacePosition;
    }

    public static void main(String[] args) {
        int[] nums = {1,2,2,4,2,5};
        int val = 2;
        int i = removeElement(nums, val);
        for (int j = 0; j < nums.length; j++) {
            int num = nums[j];
            System.out.println(num);
        }

    }
}
